package com.chenqi.myblog.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chenqi.myblog.model.Blog;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description:
 * @program: myblog
 * @author: ChenQi
 * @create: 2021-02-2021/2/2-15-53
 */
@Repository
public interface BlogMapper extends BaseMapper<Blog> {
    /**
     * 分页查询
     * @param start
     * @param rows
     * @return
     */
    List<Blog> findByPage(@Param("start") Integer start, @Param("rows") Integer rows);

    /**
     * 首页博客最新推荐
     * @param start
     * @param rows
     * @return
     */
    List<Blog> findNewBlog(@Param("start") Integer start,@Param("rows") Integer rows);

    /**
     * 根据分类id查找博客
     * @param id
     * @return
     */
    List<Blog> findByTypId(Integer id);
    /**
     * 查找全部博客
     */
    List<Blog> findAllBlog();

    /**
     * 保存博客
     * @param blog
     */
    void saveBlog(Blog blog);

    /**
     * 根据博客id查找博客
     * @param id
     * @return
     */
    Blog findBlogById(Integer id);

    /**
     * 维持博客与标签的关系
     * @param bid
     * @param tid
     */
    void saveTags(@Param("bid") Integer bid,@Param("tid") Integer tid);

    /**
     * 根据博客标题查找博客
     * @param start
     * @param rows
     * @param title
     * @return
     */
    List<Blog> searchBlog(@Param("start") Integer start,@Param("rows") Integer rows,@Param("title") String title);

    /**
     * 浏览次数修改
     * @param view
     */
    void updateView(@Param("mview") Integer view,@Param("id") Integer id);
}
